#ifndef __option_h__
#define __option_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "element.h"

/* header files for imported files */
#include "eform.h"

#ifndef __IHTMLOptionElement_FWD_DEFINED__
#define __IHTMLOptionElement_FWD_DEFINED__
typedef interface IHTMLOptionElement IHTMLOptionElement;
#endif     /* __IHTMLOptionElement_FWD_DEFINED__ */

#ifndef __IHTMLOptionElement3_FWD_DEFINED__
#define __IHTMLOptionElement3_FWD_DEFINED__
typedef interface IHTMLOptionElement3 IHTMLOptionElement3;
#endif     /* __IHTMLOptionElement3_FWD_DEFINED__ */

#ifndef __IHTMLOptionElementFactory_FWD_DEFINED__
#define __IHTMLOptionElementFactory_FWD_DEFINED__
typedef interface IHTMLOptionElementFactory IHTMLOptionElementFactory;
#endif     /* __IHTMLOptionElementFactory_FWD_DEFINED__ */

#ifndef __IHTMLOptionElement_INTERFACE_DEFINED__

#define __IHTMLOptionElement_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLOptionElement;


MIDL_INTERFACE("3050f211-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionElement : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE put_selected(
         /* [in] */ VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selected(
         /* [out] */ VARIANT_BOOL * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultSelected(
         /* [in] */ VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultSelected(
         /* [out] */ VARIANT_BOOL * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_index(
         /* [in] */ LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_index(
         /* [out] */ LONG * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_text(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
         /* [out] */ IHTMLFormElement* * p) = 0;

};

#endif     /* __IHTMLOptionElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLOptionElement3_INTERFACE_DEFINED__

#define __IHTMLOptionElement3_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLOptionElement3;


MIDL_INTERFACE("3050f820-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionElement3 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE put_label(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_label(
         /* [out] */ BSTR * p) = 0;

};

#endif     /* __IHTMLOptionElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLOptionElementFactory_INTERFACE_DEFINED__

#define __IHTMLOptionElementFactory_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLOptionElementFactory;


MIDL_INTERFACE("3050f38c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionElementFactory : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE create(
            /* [in] */ VARIANT text,/* [in] */ VARIANT value,/* [in] */ VARIANT defaultselected,/* [in] */ VARIANT selected,/* [out] */ IHTMLOptionElement** ) = 0;

};

#endif     /* __IHTMLOptionElementFactory_INTERFACE_DEFINED__ */



EXTERN_C const GUID GUID_HTMLOptionElement;



EXTERN_C const GUID DIID_DispHTMLOptionElement;


#ifndef _COptionElement_PROPDESCS_
EXTERN_C const PROPERTYDESC_NUMPROP_GETSET s_propdescCOptionElementselected;
EXTERN_C const PROPERTYDESC_BASIC s_propdescCOptionElementvalue;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCOptionElementdefaultSelected;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCOptionElementtext;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCOptionElementindex;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCOptionElementform;
EXTERN_C const PROPERTYDESC_BASIC s_propdescCOptionElementlabel;

#endif


EXTERN_C const GUID GUID_HTMLOptionElementFactory;


#ifndef _COptionElementFactory_PROPDESCS_
EXTERN_C const PROPERTYDESC_METHOD s_methdescCOptionElementFactorycreate;

#endif


#endif /*__option_h__*/

